﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

namespace ImageControl.Models
{
    public class CoordinateSystemsInfo
    {
        public Point Document { get; private set; }
        public Point Local { get; private set; }
        public Point Rotated { get; private set; }

        public CoordinateSystemsInfo(Point documentCoordinate, Point localCoordinate, Point rotatedCoordinate)
        {
            this.Document = documentCoordinate;
            this.Local = localCoordinate;
            this.Rotated = rotatedCoordinate;
        }

        public override bool Equals(object obj)
        {
            CoordinateSystemsInfo other = obj as CoordinateSystemsInfo;

            return other != null &&
                other.Document.Equals(this.Document) &&
                other.Local.Equals(this.Local) &&
                other.Rotated.Equals(this.Rotated);

        }

        public override int GetHashCode()
        {
            return this.Document.GetHashCode() ^ this.Local.GetHashCode() ^ this.Rotated.GetHashCode();
        }
    }
}
